<?php
/**
 * Симуляция
 * 
 * @author Anton Zavidov
 * @package myLiveShop
 */
class Troll extends Base{
    /**
     * Количество операций
     * 
     * @var int если значение отрицательное то будет выполнятся бесконечно
     */
    public $count;
    /**
     * Текущая операция
     *
     * @var int
     */
    private $currentAction;
    /**
     * Кусок текста
     *
     * @var array
     */
    private $text=array(
    'День медленно догорал в костре заката и ночь с востока уже протягивала свои темные крылья, желая укрыть ими весь континент Адена. «Успеем!» - подумал Торгрид, наблюдая как край огненного нимба солнца скрылся за невысокими вершинами гор, и приказал своим работникам подхлестнуть страйдеров. Но перегруженные разным скарбом животные, находящиеся в пути еще с полудня, и так уже выбивались из сил. Гном уже проклинал в душе свою жадность, доставшуюся ему в наследство от предков. Лучше бы он оставил часть груза на складе и забрал бы вторым разом. Но тогда ему не хотелось переплачивать. За хранение, за наемных рабочих, за. «Успеем…». Даже внезапная встреча с полудюжиной цикад, невесть каким образом оказавшихся на дороге, в стороне от своих гиблых болот, не поколебала уверенности гнома, хоть оптимизма у него и поубавилось. Тела цикад остались лежать на дороге, а небольшой караван из трех страйдеров снова продолжил свой путь. Вот уже над вершиною холма, по которому змеей скользила грунтовая дорога, показались верхушки деревьев. Еще несколько минут – и лес перед ними лежал как на ладони, до него оставалось еще какие-то сотни метров. С каждым ударом сердца, с каждым шагом уставшего страйдера лес становился все ближе. И с каждым шагом страйдера ночь все крепче обнимала черными крыльями мир. На темнеющем небе уже сияли алмазы первых звезд. Глядя на них, Торгрид отчего-то припомнил старую легенду о многоглазом великане Аргусе как бы заточенном богиней Эйнхазад в горный кряж в восточных землях Годдарда. Сейчас звезды казались глазами, с любопытством наблюдавшими за перемещениями маленького каравана. Но сегодня боги все таки отвернулись от него. Ночь нагнала их в тот момент, когда караван достиг границы леса. Страйдеры остановились. В наступившей тишине было слышно лишь их тяжелое дыхание да из болот, оставшихся теперь позади, доносились звуки, похожие на стон умирающего. - Ну и чего стали?! – крикнул гном, стараясь скрыть дрожь в голосе. – Поехали быстрее. Крепость уже недалеко! Она там, за лесом! Торгрид направил своего страйдера по дороге в лес. - Не-е-е, гноме! – донеслось сзади. – Ты конечно сунуться в Проход Дьявола ночью можешь. Но без нас! Нам наши души дороже твоего золота. - Неупокоенных лучше не тревожить, - произнес второй голос. – С ними шутки плохи. Честная сталь против них слабое оружие, тут даже чары магов спасуют. Не успеешь с одним мертвяком покончить, как на тебя уже еще пяток лезет. Торгрид конечно слышал легенду об этом месте. Несколько столетий назад, в смутные времена, когда короли меняли друг друга чуть ли не каждодневно, здесь столкнулись армии городов Годдарда и Руна. Тогда леса здесь еще не было. Говорили, что обе армии вошли в ущелье на рассвете, где и завязалась кровопролитная битва продлившаяся весь день и всю ночь. А утром следующего дня солнце ужаснулось увиденному и на несколько дней спряталось за тучами проливая слезы. С тех пор никто не видел в живых никого из тех воинов. Но время спустя поползли слухи о пропавших путешественниках, которые пытались пройти по ущелью ночью. Дорогой стали пользоваться все реже и реже. Ущелье поросло лесом. Гном было уже решил заплатить наймитам половину договоренной суммы оставить их здесь, а самому продолжить путь к форту не смотря на темноту, но еще раз взглянул на темнеющую стену леса и вздрогнул. Взошедшая над горизонтом полная луна показала жуткую картину: во мраке между стволов деревьев, которым лунный свет придавал устрашающие формы, и по дороге двигались по одиночке и группами какие-то тени. Пока они не выходили на свет их можно было принять за живых существ которые передвигались немного странно. но лишь только призрачный свет луны коснулся одного существа Торгрид смог разглядеть ржавые, пробитые местами, доспехи которые уже не применялись войсками баронов и графов Адена уже лет эдак двести, между которых были видны обрывки истлевшее ткани а из глазниц черепа казалось глядела на мир сама Тьма. Сзади послышались тихие слова молитвы.',
    'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis tincidunt, turpis in sollicitudin dignissim, nulla urna ullamcorper mauris, ut placerat sapien nunc nec mauris. Morbi venenatis, nisi non bibendum aliquam, nisi erat convallis ligula, ut dapibus arcu felis vel ligula. Pellentesque convallis nibh faucibus est aliquet a convallis mauris viverra. Etiam id placerat tellus. Phasellus lacinia convallis elit eget tempus. Sed consequat vestibulum diam, ut condimentum velit rhoncus vitae. Nam aliquet ultricies libero accumsan viverra. Aliquam eleifend consectetur lacus, sed accumsan nibh egestas et. Nullam vehicula faucibus odio vitae accumsan. Nulla eu odio velit. Vestibulum ac pharetra mauris. Maecenas auctor, magna ac sodales placerat, ligula est mattis felis, non ullamcorper tellus leo non elit. Donec sit amet felis est, id ultrices lectus. Quisque sit amet elementum augue. Aliquam a fermentum lorem. Cras cursus erat eu ipsum posuere eget pulvinar sapien sodales. Suspendisse non urna ipsum. Etiam ac mi ante, in pulvinar dui. Suspendisse porta turpis egestas mauris porta id faucibus metus bibendum. Aliquam erat volutpat. Phasellus risus tortor, pharetra vel venenatis non, rutrum quis enim. Phasellus pretium bibendum faucibus. Aenean ac consectetur metus. Nulla augue dolor, congue nec malesuada ut, cursus ac purus. Pellentesque id massa non nisi porttitor ornare. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam erat volutpat. Nulla sed odio dolor, id facilisis lectus. In volutpat dapibus tincidunt. Ut id nibh dolor. Vivamus ac sem quis sem dapibus malesuada. Morbi vestibulum auctor sem pellentesque convallis. Sed auctor egestas nibh nec consectetur. Sed laoreet felis sit amet ante molestie auctor. Proin a suscipit dolor. Nam venenatis eleifend vulputate. Sed fermentum nisi non quam tincidunt rutrum. Ut ultricies tortor ut risus volutpat eleifend. Sed sed magna vitae lectus commodo tincidunt. Donec vestibulum tincidunt blandit. Morbi nisi quam, vestibulum nec mattis vitae, sollicitudin ut massa. Nam nec purus dolor. Mauris lobortis ultrices odio non ultricies. Nulla vulputate arcu non ipsum condimentum vel hendrerit risus tincidunt. Suspendisse consectetur lacinia porttitor. Proin nec neque vel massa fringilla tempus. Praesent ut dolor nunc. Donec vehicula tristique sem, vitae dapibus elit volutpat id. Duis commodo, neque a aliquet suscipit, ante dolor egestas diam, dapibus tincidunt arcu mi vitae lorem. Nunc fermentum, nibh sed bibendum euismod, nulla tellus pellentesque est, a convallis mauris mi non ante. Ut dui purus, pharetra eget luctus a, adipiscing vel orci. Vivamus turpis odio, gravida nec hendrerit quis, scelerisque sed risus. Etiam non felis nec ante dapibus tempus. Etiam cursus lectus vel enim laoreet id varius turpis euismod. Aenean sed nibh metus, vitae tincidunt neque. Nulla nec nisl elit, sed placerat risus. Maecenas pulvinar, augue lobortis venenatis sagittis, risus tortor placerat velit, congue tincidunt magna massa pulvinar nisi. Praesent mattis, sem eget pulvinar volutpat, odio elit tempor nibh, in auctor tortor nisl a ante. Aliquam id massa a nunc cursus ornare.');
    public $actions=array(
        'add'=>array(1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,53,56,59,62,65,68,71,74,77,78),//только вставки
        'edit'=>array(2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,54,57,60,63,66,69,72,75,79),//только редактирования
        'delete'=>array(3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,55,58,61,64,67,70,73,76,80)//только удаления
    );
    function __construct($count=null){
        $this->text[0]=explode('.',$this->text[0]);
        $this->text[1]=explode('.',$this->text[1]);
        if($count)$this->run($count);
    }
    function run($count=10){
        $this->count=$count;
        $l=array('add','edit','delete');
        while ($this->count!=0) {
			$r=$this->rr();
			if($r>40)$n=$l[0];
			elseif ($r<10)$n=$l[2];
			else $n=$l[1];
            $this->selectAction($this->actions[$n][$this->rr(0,count($this->actions[$n])-1)]);
        	$this->count--;
        }
    }
    public function selectAction($action=null){
        if($action)$this->currentAction=$action;
        if(!$this->currentAction)return ;
        switch ($this->currentAction) {
        	case 1://регистрация пользователя
        	    ec('регистрация пользователя');
        		$user=import('model.user',true);
        		$result=$user->save(array(
        			ModelUser::F_GROUP_ID  		=> 1,
                	ModelUser::F_LANG_ID  		=> 1,
                	ModelUser::F_COUNTRY_ID   	=> 1,
                	ModelUser::F_CITY_ID   		=> 2,
                	ModelUser::F_IMAGE_ID  		=> $this->findImage(),
                	ModelUser::F_PASSWORD  		=> '1234',
                	ModelUser::F_EMAIL  		=> $this->getText(30,true,1).'@'.$this->getText(30,true,1).'.com',
                	ModelUser::F_CHECKED_EMAIL  => 1,
                	ModelUser::F_BANNED  		=> 0,
                	ModelUser::F_MONEY   		=> 0,
                	ModelUser::F_REPUTATION   	=> 0,
                	ModelUser::F_CITY  	 		=> '',
                	ModelUser::F_ADDRESS		=> $this->getText(100),
                	ModelUser::F_SEX			=> $this->bin(),
                	ModelUser::F_REGISTRATION_DATE=> $this->date(),
                	ModelUser::F_BIRTHDAY		=> '19'.$this->rr(70,99).'-0'.$this->rr(1,9).'-'.$this->rr(0,2).$this->rr(1,9),
                	ModelUser::F_SITE 			=> 'http://'.$this->getText(30,true,1).'.com',
                	ModelUser::F_TEL			=> $this->rr(0,999).'-'.$this->rr().'-'.$this->rr(),
                	ModelUser::F_ICQ			=> $this->rr(999999,9999999),
                	ModelUser::F_NAME			=> $this->getText(50,true),
                	ModelUser::F_ABOUT			=> $this->getText(0),
        	    ));
        	    if(is_array($result))pr($result);
        		break;
        	case 2://редактирование пользователя
        		$user=import('model.user',true);
        		$id=$this->findUser();
        		if(!$id)return false;
        		ec('редактирование пользователя '.$id);
        		$result=$user->save(array(
        			ModelUser::F_ABOUT			=> $this->getText(0)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 3://удаление пользователя
        		$user=import('model.user',true);
        		$id=$this->findUser();
        		if(!$id)return false;
        		ec('удаление пользователя '.$id);
        		//$user->delete($id);
        		break;
        	case 4://создание группы
        	    ec('создание группы');
        		$group=import('model.group',true);
        		$result=$group->save(array(
                	ModelGroup::F_PARENT_ID  	=> 0,
                	ModelGroup::F_TITLE   		=> $this->getText(30),
                	ModelGroup::F_RIGHTS   		=> '{}'
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 5://редактирование группы
        		$group=import('model.group',true);
        		$id=$group->loadOne(false,ModelGroup::F_GROUP_ID,array('order'=>DB::apostrof(ModelGroup::TABLE.DOT.ModelUser::F_GROUP_ID)." ".Model::DESC));
        		if(!$id)return false;
        		ec('редактирование группы '.$id);
        		$result=$group->save(array(
        			ModelGroup::F_TITLE			=> $this->getText(30)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 6://удаление группы
        		$group=import('model.group',true);
        		$id=$group->loadOne(false,ModelGroup::F_GROUP_ID,array('order'=>DB::apostrof(ModelGroup::TABLE.DOT.ModelUser::F_GROUP_ID)));
        		if(!$id)return false;
        		ec('удаление группы '.$id);
        		//$group->delete($id);
        		break;
        	case 7://создание материала
        	    ec('создание материала');
        		$article=import('model.article',true);
        		$text=$this->getText(0);
        		$result=$article->save(array(
                	ModelArticle::F_SHOP_ID  		=> $this->findShop(),
					ModelArticle::F_USER_ID  		=> $this->findUser(),
					ModelArticle::F_LANG_ID  		=> 1,
					ModelArticle::F_CATEGORY_ID		=> $this->findCategory(),
					ModelArticle::F_IMAGE_ID  		=> $this->findImage(),
					ModelArticle::F_MODEL			=> 'page',
					ModelArticle::F_DELETED			=> 0,
					ModelArticle::F_CREATED			=> $this->date(),
					ModelArticle::F_PUBLISH			=> 'F',
					ModelArticle::F_SOURCE			=> '<b>'.$text.'</b>',
					ModelArticle::F_DESCRIPTION		=> $text,
					ModelArticle::F_TITLE			=> $this->getText(50)
	
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 8://редактирование материала
        		$article=import('model.article',true);
        		$id=$this->findArticle();
        		if(!$id)return false;
        		ec('редактирование материала '.$id);
        		$result=$article->save(array(
        			ModelArticle::F_TITLE			=> $this->getText(30)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 9://удаление материала
        		$article=import('model.article',true);
        		$id=$this->findArticle();
        		if(!$id)return false;
        		ec('удаление материала '.$id);
        		//$article->delete($id);
        		break;
        	case 10://создание категории
        	    ec('создание категории');
        		$category=import('model.category',true);
        		$module=array('article','product','shop','category');
        		$module=$module[$this->rr(0,3)];
        		$module_id=$this->findShop();
        		$result=$category->save(array(
                	ModelCategory::F_PARENT_ID  => 0,
                	ModelCategory::F_SHOP_ID  	=> ($this->bin()?$module_id:0),
                	ModelCategory::F_MODEL  	=> $module,
                	ModelCategory::F_PUBLISH  	=> 'F',
                	ModelCategory::F_TITLE  	=> $this->getText(50),
                	ModelCategory::F_DESCRIPTION => $this->getText(0),
                	ModelCategory::F_LANG_ID  	=> 1,
	
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 11://редактирование категории
        		$category=import('model.category',true);
        		$id=$this->findCategory();
        		if(!$id)return false;
        		ec('редактирование категории '.$id);
        		$result=$category->save(array(
        			ModelCategory::F_TITLE			=> $this->getText(30)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 12://удаление категории
        		$category=import('model.category',true);
        		$id=$this->findCategory();
        		if(!$id)return false;
        		ec('удаление категории '.$id);
        		//$category->delete($id);
        		break;
        	case 13://создание комментария
        	    ec('создание комментария');
        		$comment=import('model.comment',true);
        		$module=array('article','product');
        		$module=$module[$this->bin()];
        		$m='find'.ucfirst($module);
        		$module_id=$this->$m();
        		$result=$comment->save(array(
                	ModelComment::F_PARENT_ID  	=> ($this->bin()?$this->findComment($module,$module_id):0),
                	ModelComment::F_USER_ID  	=> $this->findUser(),
                	ModelComment::F_MODEL_ID  	=> $module_id,
                	ModelComment::F_MODEL  	    => $module,
                	ModelComment::F_CREATED  	=> $this->date(),
                	ModelComment::F_DESCRIPTION => $this->getText(0),
                	ModelComment::F_LANG_ID  	=> 1
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 14://редактирование комментария
        		$comment=import('model.comment',true);
        		$id=$this->findComment();
        		if(!$id)return false;
        		ec('редактирование комментария '.$id);
        		$result=$comment->save(array(
        			ModelComment::F_DESCRIPTION			=> $this->getText(30)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 15://удаление комментария
        		$comment=import('model.comment',true);
        		$id=$this->findComment();
        		if(!$id)return false;
        		ec('удаление комментария '.$id);
        		//$comment->delete($id);
        		break;
        	case 16://создание картинки
        	    return false;
        	    break;
        	case 17://редактирование картинки
        	    return false;
        	    break;
        	case 18://удаление картинки
        	    return false;
        	    break;
        	case 19://создание языка
        	    ec('создание языка');
        		$lang=import('model.lang',true);
        		$name=$this->getText(10,true);
        		$result=$lang->save(array(
                	ModelLang::F_NAME  	=> $name,
                	ModelLang::F_SHORT  	=> substr($name,0,3)
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 20://редактирование языка
        		$lang=import('model.lang',true);
        		$id=$this->findLang();
        		if(!$id)return false;
        		ec('редактирование языка '.$id);
        		$name=$this->getText(10,true);
        		$result=$lang->save(array(
        			ModelLang::F_NAME  	=> $name,
                	ModelLang::F_SHORT  	=> substr($name,0,3)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 21://удаление языка
        		$lang=import('model.lang',true);
        		$id=$this->findLang();
        		if(!$id)return false;
        		ec('удаление языка '.$id);
        		//$lang->delete($id);
        		break;
        	case 22://создание письма
        	    return false;
        	    break;
        	case 23://редактирование письма
        	    return false;
        	    break;
        	case 24://удаление письма
        	    return false;
        	    break;
        	case 25://создание модуля
        	    ec('создание модуля');
        		$module=import('model.module',true);
        		$result=$module->save(array(
                		ModelModule::F_IMAGE_ID  	=> $this->findImage(),
                    	ModelModule::F_COST  	    => $this->rr(0,10),
                    	ModelModule::F_PAY  	    => $this->rr(0,10),
                    	ModelModule::F_NAME  	    => $this->getText(50,true,1),
                    	ModelModule::F_SETTINGS  	=> '{"a":24}',
                    	ModelModule::F_TITLE  	    => $this->getText(50,true),
                    	ModelModule::F_DESCRIPTION  => $this->getText(0),
                    	ModelModule::F_LANG_ID  	=> 1
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 26://редактирование модуля
        		$module=import('model.module',true);
        		$id=$this->findModule();
        		if(!$id)return false;
        		ec('редактирование модуля '.$id);
        		$result=$module->save(array(
        			ModelModule::F_TITLE  	=> $this->getText(50,true)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 27://удаление модуля
        		$module=import('model.module',true);
        		$id=$this->findModule();
        		if(!$id)return false;
        		ec('удаление модуля '.$id);
        		//$module->delete($id);
        		break;
        	case 28://создание заказа
        	    ec('создание заказа');
        		$order=import('model.order',true);
        		$result=$order->save(array(
                    	ModelOrder::F_SHOP_ID  	    => $this->findShop(),
                    	ModelOrder::F_USER_ID  	    => $this->findUser(),
                    	ModelOrder::F_CREATED  	    => $this->date(),
                    	ModelOrder::F_DESCRIPTION  	=> $this->getText(),
                    	ModelOrder::F_STATUS  	    => 0,
                    	ModelOrder::F_STATUS_COMMENT=> $this->getText(),
                    	ModelOrder::F_COUPON_ID  	=> $this->findCoupon()
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 29://редактирование заказа
        		$order=import('model.order',true);
        		$id=$this->findOrder();
        		if(!$id)return false;
        		ec('редактирование заказа '.$id);
        		$result=$order->save(array(
        			ModelOrder::F_STATUS_COMMENT  	=> $this->getText()
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 30://удаление заказа
        		$order=import('model.order',true);
        		$id=$this->findOrder();
        		if(!$id)return false;
        		ec('удаление заказа '.$id);
        		//$order->delete($id);
        		break;
        	case 31://создание магазина
        	    ec('создание магазина');
        		$shop=import('model.shop',true);
        		$result=$shop->save(array(
                    	ModelShop::F_USER_ID  		    => $this->findUser(),
                    	ModelShop::F_LANG_ID  		    => 1,
                    	ModelShop::F_CATEGORY_ID		=> $this->findCategory('shop'),
                    	ModelShop::F_TEMPLATE_ID		=> $this->findTemplate(),
                    	ModelShop::F_IMAGE_ID  		    => $this->findImage(),
                    	ModelShop::F_CURRENCY_ID		=> $this->findCurrency(),
                    	ModelShop::F_NAME			    => $this->getText(30,true,1),
                    	ModelShop::F_CREATED			=> $this->date(),
                    	ModelShop::F_PUBLISH			=> 'F',
                    	ModelShop::F_TEMPLATE_SETTINGS  =>'{}',
                    	ModelShop::F_DESCRIPTION		=> $this->getText(),
                    	ModelShop::F_TITLE		       	=> $this->getText(30)
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 32://редактирование магазина
        		$shop=import('model.shop',true);
        		$id=$this->findShop();
        		if(!$id)return false;
        		ec('редактирование магазина '.$id);
        		$result=$shop->save(array(
        			ModelShop::F_TITLE  	=> $this->getText(30)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 33://удаление магазина
        		$shop=import('model.shop',true);
        		$id=$this->findShop();
        		if(!$id)return false;
        		ec('удаление магазина '.$id);
        		//$shop->delete($id);
        		break;
            case 34://подключение модуля магазина
        		$shop_module=import('model.shop_module',true);
        		$id1=$this->findShop();
        		$id2=$this->findModule();
        		$id=$shop_module->load(false,array(
        		  ModelShop_module::F_SHOP_MODULE_ID
        		  ),array('where'=>
        		  $shop_module->ap(ModelShop_module::F_SHOP_ID).'='.$id1.' AND '.
        		  $shop_module->ap(ModelShop_module::F_MODULE_ID).'='.$id2
	              ));
	            if(count($id))return false;
        	    ec('подключение модуля '.$id2.' магазина '.$id1);
        		$result=$shop_module->save(array(
                    	ModelShop_module::F_SHOP_ID  	        => $id1,
                    	ModelShop_module::F_MODULE_ID          	=> $id2,
                    	ModelShop_module::F_MODULE_SETTINGS  	=> '{"title":"'.$this->getText(20).'"}',
                    	ModelShop_module::F_PUBLISH  	        => 'F'
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 35://редактирование подключения модуля магазина
        		$shop_module=import('model.shop_module',true);
        		$id=$this->findShop_module();
        		if(!$id)return false;
        		ec('редактирование подключения модуля магазина '.$id);
        		$result=$shop_module->save(array(
        			ModelShop_module::F_MODULE_SETTINGS  	=> '{"title":"'.$this->getText(20).'"}'
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 36://удаление подключения модуля магазина
        		$shop_module=import('model.shop_module',true);
        		$id=$this->findShop_module();
        		if(!$id)return false;
        		ec('удаление подключения модуля магазина '.$id);
        		//$shop_module->delete($id);
        		break;
            case 37://создание тега
        	    ec('создание тега');
        		$tag=import('model.tag',true);
        		$result=$tag->save(array(
                    	ModelTag::F_USER_ID  	    => $this->findUser(),
                    	ModelTag::F_TITLE   	    => $this->getText(30)
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 38://редактирование тега
        		$tag=import('model.tag',true);
        		$id=$this->findTag();
        		if(!$id)return false;
        		ec('редактирование тега '.$id);
        		$result=$tag->save(array(
        			ModelTag::F_TITLE  	=> $this->getText(30)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 39://удаление тега
        		$tag=import('model.tag',true);
        		$id=$this->findTag();
        		if(!$id)return false;
        		ec('удаление тега '.$id);
        		//$tag->delete($id);
        		break;
        	case 40://создание шаблона
        	    ec('создание шаблона');
        		$template=import('model.template',true);
        		$result=$template->save(array(
                    	ModelTemplate::F_IMAGE_ID  	   => $this->findImage(),
                    	ModelTemplate::F_COST  	       => $this->rr(0,10),
                    	ModelTemplate::F_PAY  	       => $this->rr(0,10),
                    	ModelTemplate::F_SETTINGS  	   => '{"map":1}',
                    	ModelTemplate::F_NAME  	       => $this->getText(30,true,1),
                    	ModelTemplate::F_DESCRIPTION   => $this->getText(),
                    	ModelTemplate::F_TITLE  	   => $this->getText(50),
                    	ModelTemplate::F_LANG_ID       => 1
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 41://редактирование шаблона
        		$template=import('model.template',true);
        		$id=$this->findTemplate();
        		if(!$id)return false;
        		ec('редактирование шаблона '.$id);
        		$result=$template->save(array(
        			ModelTemplate::F_TITLE  	=> $this->getText(30)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 42://удаление шаблона
        		$template=import('model.template',true);
        		$id=$this->findTemplate();
        		if(!$id)return false;
        		ec('удаление шаблона '.$id);
        		//$template->delete($id);
        		break;
        	case 43://создание продукта
        	    ec('создание продукта');
        		$product=import('model.product',true);
        		$price=$this->rr();
        		$result=$product->save(array(
                    	ModelProduct::F_SHOP_ID  	    => $this->findShop(),
                    	ModelProduct::F_CATEGORY_ID  	=> $this->findCategory('product'),
                    	ModelProduct::F_IMAGE_ID  	    => $this->findImage(),
                    	ModelProduct::F_CREATED  	    => $this->date(),
                    	ModelProduct::F_PUBLISH  	    => 'F',
                    	ModelProduct::F_DELETED  	    => 0,
                    	ModelProduct::F_SORT  	        => 1,
                    	ModelProduct::F_DESCRIPTION  	=> $this->getText(),
                    	ModelProduct::F_TITLE  	        => $this->getText(30),
                    	ModelProduct::F_USER_ID  	    => $this->findUser(),
                    	ModelProduct::F_LANG_ID  	    => $this->findLang(),
                    	ModelProduct::F_PRICE  	        => $price,
                    	ModelProduct::F_CURRENCY_ID  	=> $this->findCurrency(),
                    	ModelProduct::F_REAL_PRICE  	=> $price
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 44://редактирование продукта
        		$product=import('model.product',true);
        		$id=$this->findProduct();
        		if(!$id)return false;
        		ec('редактирование продукта '.$id);
        		$result=$product->save(array(
        			ModelProduct::F_TITLE  	=> $this->getText(30)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 45://удаление продукта
        		$product=import('model.product',true);
        		$id=$this->findProduct();
        		if(!$id)return false;
        		ec('удаление продукта '.$id);
        		//$shop->delete($id);
        		break;
        	 case 46://добавление продукта в заказа
        	    ec('добавление продукта в заказа');
        		$product_to_order=import('model.product_to_order',true);
        		$result=$product_to_order->save(array(
                    	ModelProduct_to_order::F_PRODUCT_ID    => $this->findProduct(),
                    	ModelProduct_to_order::F_ORDER_ID  	   => $this->findOrder(),
                    	ModelProduct_to_order::F_PRODUCT_COUNT => $this->rr(0,10),
                    	ModelProduct_to_order::F_PARAMS  	   => '{}'
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 47://модификация продукта в заказе
        		$product_to_order=import('model.product_to_order',true);
        		$id=$this->findProduct_to_order();
                if(!$id)return false;
        		ec('модификация продукта в заказе '.$id);
        		$result=$product_to_order->save(array(
        			ModelProduct_to_order::F_PRODUCT_COUNT  	=> $this->rr(0,10)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 48://удаление продукта из заказа
        		$product_to_order=import('model.product_to_order',true);
        		$id=$this->findProduct_to_order();
                if(!$id)return false;
        		ec('удаление продукта из заказа '.$id);
        		//$product_to_order->delete($id);
        		break;
        	case 49://отправка письма
        	    return false;
        	    /*ec('отправка письма');
        		$mail_to_user=import('model.mail_to_user',true);
        		$result=$mail_to_user->save(array(
                    	ModelMail_to_user::F_MAIL_ID    => $this->findMail(),
                    	ModelMail_to_user::F_USER_ID  	=> $this->findUser(),
                    	ModelMail_to_user::F_MODE       => 1
        	    ));*/
        		break;
        	case 50://модификация отправленного письма
        	    return false;
        		/*$mail_to_user=import('model.mail_to_user',true);
        		$id=$mail_to_user->load(false,array(
        		  ModelMail_to_user::F_MAIL_ID,
        		  ModelMail_to_user::F_USER_ID));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('модификация отправленного письма '.$id[ModelMail_to_user::F_MAIL_ID]);
        		$result=$mail_to_user->save(array(
        			ModelMail_to_user::F_MODE  	=> $this->rr(0,2)
        		),$id);*/
        		break;
        	case 51://удаление отправленного письма
        	    return false;
        		/*$mail_to_user=import('model.mail_to_user',true);
        		$id=$mail_to_user->load(false,array(
        		  ModelMail_to_user::F_MAIL_ID,
        		  ModelMail_to_user::F_USER_ID));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('удаление отправленного письма '.$id[ModelMail_to_user::F_MAIL_ID]);*/
        		//$mail_to_user->delete($id);
        		break;
        	case 52://удаление отправленного письма (как спам)
        	    return false;
        		/*$mail_to_user=import('model.mail_to_user',true);
        		$id=$mail_to_user->load(false,array(
        		  ModelMail_to_user::F_MAIL_ID,
        		  ModelMail_to_user::F_USER_ID));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('удаление отправленного спама '.$id[ModelMail_to_user::F_MAIL_ID]);*/
        		//$mail_to_user->delete($id);
        		break;
        	case 53://создание параметра конфигурации
        	    return false;
        	    break;
        	case 54://редактирование параметра конфигурации
        	    return false;
        	    break;
        	case 55://удаление параметра конфигурации
        	    return false;
        	    break;
        	case 56://добавление связи между пользователями
        		/*$user_to_user=import('model.relation',true);
        		$id1=$this->findUser();
        		$id2=$this->findUser();
        		$id=$user_to_user->load(array($id1,'user',$id2,'user'),array(
        		  ModelRelation::F_MODEL_ID,
        		  ModelRelation::F_RELARION_MODEL_ID
	              ));
	            if(count($id))return false;
        	    ec('добавление связи между пользователями '.$id1.' и '.$id2);
        		$result=$user_to_user->save(array(
                    	  ModelRelation::F_MODEL_ID  	      => $id1,
        	              ModelRelation::F_MODEL  	          => 'user',
        	              ModelRelation::F_TYPE  	          => 1,
        	              ModelRelation::F_RELARION_MODEL_ID   => $id2,
        	              ModelRelation::F_RELATION_MODEL  	  => 'user'
        	    ));
        		if(is_array($result))pr($result);*/
        		break;
        	case 57://модификация связи между пользователямие
        		/*$relation=import('model.relation',true);
        		$id=$relation->load(false,array(
        		  ModelRelation::F_MODEL_ID,
        		  ModelRelation::F_MODEL,
	              ModelRelation::F_RELARION_MODEL_ID,
	              ModelRelation::F_RELATION_MODEL
	              ));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('модификация связи пользователя '.$id[ModelRelation::F_MODEL_ID].' с пользователем '.$id[ModelRelation::F_RELARION_MODEL_ID]);
        		$result=$relation->save(array(
        			ModelRelation::F_TYPE  	=> $this->rr(0,2)
        		),$id);
        		if(is_array($result))pr($result);*/
        		break;
        	case 58://удаление связи между пользователями
        		/*$relation=import('model.relation',true);
        		$id=$relation->load(false,array(
        		  ModelRelation::F_MODEL_ID,
        		  ModelRelation::F_MODEL,
	              ModelRelation::F_RELARION_MODEL_ID,
	              ModelRelation::F_RELATION_MODEL
	              ));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('удаление связи пользователя '.$id[ModelRelation::F_MODEL_ID].' с пользователем '.$id[ModelRelation::F_RELARION_MODEL_ID]);
        		//$relation->delete($id);*/
        		break;
        	case 59://добавление связи между пользователем и магазином
        		$user_to_shop=import('model.user_to_shop',true);
        		$id1=$this->findUser();
        		$id2=$this->findShop();
        		$id=$user_to_shop->load(array($id1,$id2),array(
        		  ModelUser_to_shop::F_USER_ID,
        		  ModelUser_to_shop::F_SHOP_ID
	              ));
	            if(count($id))return false;
        	    ec('добавление связи между пользователем '.$id1.' и магазином '.$id2);
        		$result=$user_to_shop->save(array(
                    	  ModelUser_to_shop::F_USER_ID  	        => $id1,
        	              ModelUser_to_shop::F_MODE   	            => 1,
        	              ModelUser_to_shop::F_SHOP_ID     			=> $id2
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 60://модификация связи между пользователем и магазином
        		$user_to_shop=import('model.user_to_shop',true);
        		$id=$user_to_shop->load(false,array(
        		  ModelUser_to_shop::F_USER_ID,
        		  ModelUser_to_shop::F_SHOP_ID
	              ));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('модификация связи пользователя '.$id[ModelUser_to_shop::F_USER_ID].' с магазином '.$id[ModelUser_to_shop::F_SHOP_ID]);
        		$result=$user_to_shop->save(array(
        			ModelUser_to_shop::F_MODE  	=> $this->rr(0,2)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 61://удаление связи между пользователем и магазином
        		$user_to_shop=import('model.user_to_shop',true);
        		$id=$user_to_shop->load(false,array(
        		  ModelUser_to_shop::F_USER_ID,
        		  ModelUser_to_shop::F_SHOP_ID
	              ));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('удаление связи пользователя '.$id[ModelUser_to_shop::F_USER_ID].' с магазином '.$id[ModelUser_to_shop::F_SHOP_ID]);
        		//$user_to_shop->delete($id);
        		break;
        	case 62://создание параметра
        	    ec('создание параметра');
        		$param=import('model.param',true);
        		$price=$this->rr();
        		$result=$param->save(array(
                    	ModelParam::F_CATEGORY_ID  	=> $this->findCategory('product'),
						ModelParam::F_TYPE  		=> $this->rr(0,10),
						ModelParam::F_VALUES  		=> $this->rr(),
						ModelParam::F_SIZE  		=> $this->rr(),
						ModelParam::F_SORT  		=> 0,
						ModelParam::F_TITLE  		=> $this->getText(15),
						ModelParam::F_DESCRIPTION  	=> $this->getText(),
						ModelParam::F_LANG_ID  		=> 1,
						ModelParam::F_TO_ORDER  	=> 0
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 63://редактирование параметра
        		$param=import('model.param',true);
        		$id=$this->findParam();
        		if(!$id)return false;
        		ec('редактирование параметра '.$id);
        		$result=$param->save(array(
        			ModelParam::F_TITLE  	=> $this->getText(15)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 64://удаление параметра
        		$param=import('model.param',true);
        		$id=$this->findParam();
        		if(!$id)return false;
        		ec('удаление параметра '.$id);
        		//$param->delete($id);
        		break;
        	case 65://создание параметра товара
        		$param=import('model.param_data',true);
        		$price=$this->rr();
        		$id1=$this->findParam();
        		$id2=$this->findProduct();
        		$id=$param->load(array($id1,$id2),array(
        		  ModelParam_data::F_PARAM_ID,
        		  ModelParam_data::F_PRODUCT_ID
	              ));
	            if(count($id))return false;
        	    ec('создание параметра '.$id1.' товара '.$id2);
        		$result=$param->save(array(
                    	ModelParam_data::F_PARAM_ID  	=> $id1,
						ModelParam_data::F_PRODUCT_ID  	=> $id2,
						ModelParam_data::F_SMALL_VALUE  => $this->rr(),
						ModelParam_data::F_LONG_VALUE  	=> $this->getText()
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 66://редактирование параметра товара
        		$param=import('model.param_data',true);
        		$id=$param->load(false,array(
        		  ModelParam_data::F_PARAM_ID,
        		  ModelParam_data::F_PRODUCT_ID
	              ));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('редактирование параметра '.$id[ModelParam_data::F_PARAM_ID].' товара '.$id[ModelParam_data::F_PRODUCT_ID]);
        		$result=$param->save(array(
        			ModelParam_data::F_SMALL_VALUE  => $this->rr(),
					ModelParam_data::F_LONG_VALUE  	=> $this->getText()
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 67://удаление параметра товара
        		$param=import('model.param_data',true);
        		$id=$param->load(false,array(
        		  ModelParam_data::F_PARAM_ID,
        		  ModelParam_data::F_PRODUCT_ID
	              ));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('удаление параметра параметра '.$id[ModelParam_data::F_PARAM_ID].' товара '.$id[ModelParam_data::F_PRODUCT_ID]);
        		//$param->delete($id);
        		break;
        	case 68://создание связей товаров
        		$product_to_product=import('model.product_to_product',true);
        		$price=$this->rr();
        		$id1=$this->findProduct();
        		$id2=$this->findProduct();
        		$id=$product_to_product->load(array($id1,$id2),array(
        		  ModelProduct_to_product::F_PRODUCT_ID,
        		  ModelProduct_to_product::F_PARENT_ID
	              ));
	            if(count($id))return false;
        	    ec('создание связей товаров '.$id1.' и '.$id2);
        		$result=$product_to_product->save(array(
                    	ModelProduct_to_product::F_PRODUCT_ID  		=> $id1,
						ModelProduct_to_product::F_PARENT_ID  		=> $id2,
						ModelProduct_to_product::F_PRODUCT_COUNT  	=> $this->rr(0,9),
						ModelProduct_to_product::F_MODE  			=> $this->rr(0,2)
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 69://редактирование связей товаров
        		$product_to_product=import('model.product_to_product',true);
        		$id=$product_to_product->load(false,array(
        		  ModelProduct_to_product::F_PRODUCT_ID,
        		  ModelProduct_to_product::F_PARENT_ID
	              ));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('редактирование связи товара '.$id[ModelProduct_to_product::F_PRODUCT_ID].' и товара '.$id[ModelProduct_to_product::F_PARENT_ID]);
        		$result=$product_to_product->save(array(
        			ModelProduct_to_product::F_PRODUCT_COUNT  	=> $this->rr(10)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 70://удаление связей товаров
        		$product_to_product=import('model.product_to_product',true);
        		$id=$product_to_product->load(false,array(
        		  ModelProduct_to_product::F_PRODUCT_ID,
        		  ModelProduct_to_product::F_PARENT_ID
	              ));
                if(!count($id))return false;
                $id=$id[$this->rr(0,count($id)-1)];
        		ec('удаление связи товара '.$id[ModelProduct_to_product::F_PRODUCT_ID].' и товара '.$id[ModelProduct_to_product::F_PARENT_ID]);
        		//$product_to_product->delete($id);
        		break;
        	case 71://создание валюты
        	    ec('создание валюты');
        		$currency=import('model.currency',true);
        		$name=$this->getText(10,true);
        		$result=$currency->save(array(
					ModelCurrency::F_NAME  			=> $this->getText(10,true,1),
					ModelCurrency::F_VALUE  		=> $this->rr(0,10),
					ModelCurrency::F_TITLE  		=> $this->getText(5),
					ModelCurrency::F_DESCRIPTION  	=> $this->getText(10),
					ModelCurrency::F_LANG_ID  		=> 1
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 72://редактирование валюты
        		$currency=import('model.currency',true);
        		$id=$this->findCurrency();
        		if(!$id)return false;
        		ec('редактирование валюты '.$id);
        		$result=$currency->save(array(
        			ModelCurrency::F_TITLE  	=> $this->getText(5)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 73://удаление валюты
        		$currency=import('model.currency',true);
        		$id=$this->findCurrency();
        		if(!$id)return false;
        		ec('удаление валюты '.$id);
        		//$currency->delete($id);
        		break;
        	case 74://создание купона
        	    ec('создание купона');
        		$coupon=import('model.coupon',true);
        		$name=$this->getText(10,true);
        		$result=$coupon->save(array(
					ModelCoupon::F_HASH  		=> substr(md5($this->rr()),0,8),
					ModelCoupon::F_SHOP_ID  	=> $this->findShop(),
					ModelCoupon::F_USER_ID  	=> $this->findUser(),
					ModelCoupon::F_USED  		=> 0,
					ModelCoupon::F_PERCENT  	=> $this->rr()
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 75://редактирование купона
        		$coupon=import('model.coupon',true);
        		$id=$this->findCoupon();
        		if(!$id)return false;
        		ec('редактирование купона '.$id);
        		$result=$coupon->save(array(
        			ModelCoupon::F_PERCENT  	=> $this->rr()
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 76://удаление купона
        		$coupon=import('model.coupon',true);
        		$id=$this->findCoupon();
        		if(!$id)return false;
        		ec('удаление купона '.$id);
        		//$coupon->delete($id);
        		break;
        	case 77://изменение рейтинга товара
        		$product=import('model.product',true);
        		$id=$this->findProduct();
        		if(!$id)return false;
        		ec('изменение рейтинга товара '.$id);
        		$product->setProductRaiting($id,$this->rr(1,10));
        		break;
        	case 78://создание региона
        	    ec('создание региона');
        		$region=import('model.region',true);
        		$name=$this->getText(10,true);
        		$parent=$this->bin()?$this->findRegion():0;
        		$result=$region->save(array(
					ModelRegion::F_PARENT_ID  	=> $parent,
					ModelRegion::F_LEVEL  	=> $parent?1:0,
					ModelRegion::F_TITLE  	=> $this->getText(50,true)
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	case 79://редактирование региона
        		$region=import('model.region',true);
        		$id=$this->findRegion();
        		if(!$id)return false;
        		ec('редактирование региона '.$id);
        		$result=$region->save(array(
        			ModelRegion::F_TITLE  	=> $this->getText(50,true)
        		),$id);
        		if(is_array($result))pr($result);
        		break;
        	case 80://удаление региона
        		$region=import('model.region',true);
        		$id=$this->findRegion();
        		if(!$id)return false;
        		ec('удаление региона '.$id);
        		//$region->delete($id);
        		break;
            ///
            case 81://добавление тега к материалу
                $tag_to_article=import('model.tag_to_article',true);
        		$id1=$this->findTag();
        		$id2=$this->findArticle();
        		$id=$tag_to_article->load(array($id1,$id2),array(
        		  ModelTag_to_article::F_TAG_ID,
        		  ModelTag_to_article::F_ARTICLE_ID
	              ));
	            if(count($id))return false;
        	    ec('добавление тега '.$id1.' к материалу '.$id2);
        		$result=$product_to_product->save(array(
                    	ModelTag_to_article::F_TAG_ID  		=> $id1,
						ModelTag_to_article::F_ARTICLE_ID  		=> $id2
        	    ));
        		if(is_array($result))pr($result);
        		break;
        	default:
        		return false;
        		break;
        	return true;
        }
    }
    private function getText($size=50,$one=false, $textLang=0){
        $text=$this->text[$textLang][$this->rr(0,count($this->text[$textLang])-1)];
        if(!$text)return $this->getText($size,$one,$textLang);
        if($one){
            $text=str_replace(array(',','!','?','-',':',';'),'',$text);
            $text=explode(' ',$text);
            $c=$this->rr(0,count($text)-1);
            $text=trim($text[$c]);
        }
        if($size>0 && mb_strlen($text,'UTF-8')>$size)$text=mb_substr($text,0,$size,'UTF-8');
        if(!$text)return $this->getText($size,$one,$textLang);
        return trim($text);
    }
    private function rr($start=0,$end=100){
        return floor(rand($start,$end));
    }
    private function date(){
        return date('Y-m-d H:i:s');
    }
    private function bin(){
        return $this->rr()>50?1:0;
    }
    private function findShop(){
        return $this->findElement('shop',ModelShop::F_SHOP_ID);		
    }
    private function findUser(){
    	return $this->findElement('user',ModelUser::F_USER_ID);
    }
    private function findImage(){
    	return $this->findElement('image',ModelImage::F_IMAGE_ID);		
    }
    private function findArticle(){
    	return $this->findElement('article',ModelArticle::F_ARTICLE_ID);		
    }
    private function findLang(){
    	return $this->findElement('lang',ModelLang::F_LANG_ID);		
    }
    private function findModule(){
    	return $this->findElement('module',ModelModule::F_MODULE_ID);		
    }
    private function findOrder(){
    	return $this->findElement('order',ModelOrder::F_ORDER_ID);		
    }
    private function findCoupon(){
    	return $this->findElement('coupon',ModelCoupon::F_COUPON_ID);		
    }
    private function findCurrency(){
    	return $this->findElement('currency',ModelCurrency::F_CURRENCY_ID);		
    }
    private function findTemplate(){
    	return $this->findElement('template',ModelTemplate::F_TEMPLATE_ID);		
    }
    private function findShop_module(){
    	return $this->findElement('shop_module',ModelShop_module::F_SHOP_MODULE_ID);		
    }
    private function findTag(){
        return $this->findElement('tag',ModelTag::F_TAG_ID);		
    }
    private function findProduct(){
        return $this->findElement('product',ModelProduct::F_PRODUCT_ID);		
    }
    private function findProduct_to_order(){
        return $this->findElement('product_to_order',ModelProduct_to_order::F_PRODUCT_TO_ORDER_ID);		
    }
    private function findParam(){
        return $this->findElement('param',ModelParam::F_PARAM_ID);		
    }
    private function findRegion(){
        return $this->findElement('region',ModelRegion::F_REGION_ID);		
    }
    private function findElement($name,$field){
        $element=import('model.'.$name,true);
        $id=$element->load(false,$field);
        return count($id)?$id[$this->rr(0,count($id)-1)][$field]*1:0;		
    }
    private function findComment($model='',$model_id=false){
    	$comment=import('model.comment',true);
    	if($model){
    	    if(!$model_id){
    	        $name="find".ucfirst($model);
    	        $model_id=$this->$name();
    	    }
    	    $id=$comment->load(false,ModelComment::F_COMMENT_ID,array('where'=>
    	      $comment->ap(ModelComment::F_MODEL) .'="'.$model.'" AND '.
    	      $comment->ap(ModelComment::F_MODEL_ID).'='.$model_id
    	    ));
    	}else{
            $id=$comment->load(false,ModelComment::F_COMMENT_ID);
    	}
    	return count($id)?$id[$this->rr(0,count($id)-1)][ModelComment::F_COMMENT_ID]*1:0;		
    }
    private function findCategory($model='',$model_id=false){
    	$category=import('model.category',true);
    	if($model){
    	    if(!$model_id){
    	        $name="find".ucfirst($model);
    	        $model_id=$this->$name();
    	    }
    	    $id=$category->load(false,ModelCategory::F_CATEGORY_ID,array('where'=>
    	      $category->ap(ModelCategory::F_MODEL) .'="'.$model.'" AND '.
    	      $category->ap(ModelCategory::F_SHOP_ID).'='.$model_id
    	    ));
    	}else{
            $id=$category->load(false,ModelCategory::F_CATEGORY_ID);
    	}
    	return count($id)?$id[$this->rr(0,count($id)-1)][ModelCategory::F_CATEGORY_ID]*1:0;		
    }
}